// types/iam/IamRole.ts
export interface Role {
  role_id: number;           // 唯一主键ID，自增长
  role_code: string;         // 角色代码，用于程序识别（如：admin, finance_manager）
  role_name: string;         // 角色名称，用于显示（如：系统管理员，财务经理）
  description?: string;      // 角色详细描述
  is_active: boolean;        // 角色是否激活（true:激活, false:禁用）
  created_at?: string;       // 记录创建时间
  updated_at?: string;       // 记录最后更新时间
  created_by?: string;       // 记录创建者
  updated_by?: string;       // 记录最后更新者
  is_deleted: boolean;       // 软删除标志（true:已删除, false:未删除）
}

// 角色创建时的类型（不包含自动生成的字段）
export type RoleCreation = Omit<Role, 'role_id' | 'created_at' | 'updated_at' | 'is_deleted'>;

// 角色更新时的类型（所有字段都是可选的）
export type RoleUpdate = Partial<Role>;